load("//tools/lint:lint.bzl", "add_lint_tests")
load(
    "//tools/skylark:drake_cc.bzl",
    "drake_cc_binary",
    "drake_cc_googletest",
    "drake_cc_library",
)

package(default_visibility = ["//visibility:private"])

drake_cc_binary(
    name = "jaco_controller",
    srcs = ["jaco_controller.cc"],
    add_test_rule = 1,
    data = [
        "@drake_models//:jaco_description",
    ],
    test_rule_args = ["--build_only"],
    deps = [
        "//common:add_text_logging_gflags",
        "//lcm",
        "//manipulation/kinova_jaco",
        "//manipulation/util:robot_plan_interpolator",
        "//systems/analysis:simulator",
        "//systems/controllers:pid_controller",
        "//systems/lcm:lcm_pubsub_system",
        "//systems/primitives:adder",
        "//systems/primitives:demultiplexer",
        "//systems/primitives:multiplexer",
        "@gflags",
    ],
)

drake_cc_binary(
    name = "jaco_simulation",
    srcs = ["jaco_simulation.cc"],
    add_test_rule = 1,
    data = [
        "@drake_models//:jaco_description",
    ],
    test_rule_args = ["--simulation_sec=0.1"],
    deps = [
        "//common:add_text_logging_gflags",
        "//geometry:drake_visualizer",
        "//geometry:scene_graph",
        "//manipulation/kinova_jaco",
        "//multibody/parsing",
        "//multibody/plant",
        "//systems/analysis:simulator",
        "//systems/controllers:inverse_dynamics_controller",
        "//systems/primitives:demultiplexer",
        "//systems/primitives:multiplexer",
        "//visualization:visualization_config_functions",
        "@gflags",
    ],
)

drake_cc_binary(
    name = "move_jaco_ee",
    srcs = ["move_jaco_ee.cc"],
    data = [
        "@drake_models//:jaco_description",
    ],
    deps = [
        "//common:add_text_logging_gflags",
        "//lcm:drake_lcm",
        "//lcmtypes:jaco",
        "//manipulation/kinova_jaco:jaco_constants",
        "//manipulation/util:move_ik_demo_base",
        "//math:geometric_transform",
    ],
)

add_lint_tests()
